1 Introduction

Many of us have experienced being stopped by a police officer at least once, whether for a minor infraction or a more serious reason. Those who haven’t yet been stopped might consider themselves particularly responsible drivers. To better understand the factors leading to police stops and subsequent outcomes, such as arrests, our team chose to analyze this topic. Through our analysis, we aim to explore patterns and factors associated with police stops, providing insight into the circumstances and potential biases that contribute to these events.

The Chicago Police Stops dataset, a part of the Stanford Open Policing Project, offers an in-depth look into police stop practices in Chicago, with a focus on geographic, racial, and demographic patterns. As part of Stanford’s broader initiative to document public interactions with police, this dataset presents a repository of data detailing various aspects of police stops. It captures information on both individuals stopped and the officers involved, recording characteristics such as race, age, gender, and outcomes of the stops, including searches, arrests, and the nature of the violations. The dataset provides a foundation to explore how factors like race, gender, type of violation, and officer demographics may impact the likelihood of being stopped, searched, or arrested during these encounters.

1.1 Source of the Dataset

This dataset comes from the Stanford Open Policing Project [1]. The variables in the dataset include:

Variable Definition
location The location where the stop occurred
lat The latitude of location
lng The longitude of location
subject_race The race of the person stopped
subject_age The age of the person stopped
subject_gender The gender of the person stopped
officer_race The race of the officer conducting the stop
officer_age The age of the officer
officer_gender The gender of the officer stopping
search_made Whether a search was conducted during the stop
arrest_made Whether an arrest was made during the stop
violation The violation that prompted the stop

1.2 SMART Framework Questions

The SMART framework was popularized by George T. Doran in a 1981 paper in Management Review. And we use this framework in our analysis to set goals that are clear, attainable, and meaningful.

Specific: The objective should be clear and state who will do what

Measurable: The objective should include how the action will be measured

Achievable: The objective should be realistic and attainable

Relevant: The objective should make sense and fit the purpose

Time-bound: The objective should include a timeline for expected results [2]

We have leverage the understanding of what a SMART question is and poured it into the following questions to be answered as part of our analysis;

1) How do the subject’s race and the officer’s race influence the likelihood of arrest during police stops in Chicago, as observed in the dataset ?

2) How does the officer’s gender influence the likelihood of arresting individuals of different races during police stops in Chicago, as measured by the association between officer gender and subject race in the arrest dataset?

1.3 Exploratory Data Analysis

In the scholarly realm of data analysis, Exploratory Data Analysis (EDA) stands as a pivotal phase, akin to the preliminary investigations conducted by a seasoned researcher before embarking on a comprehensive study. Picture this phase as the initial survey of an unexplored scientific landscape, where the analyst endeavors to unearth latent patterns, identify anomalies, test hypotheses, and validate assumptions through a meticulous examination of summary statistics and graphical representations.

Exploratory Data Analysis refers to the critical process of performing initial investigations on data so as to discover patterns,to spot anomalies,to test hypothesis and to check assumptions with the help of summary statistics and graphical representations.[3]

The main purpose of EDA is to help look at data before making any assumptions. It can help identify obvious errors, as well as better understand patterns within the data, detect outliers or anomalous events, find interesting relations among the variables.[4]

Moreover, EDA validates assumptions, a process analogous to literature review and theoretical grounding in academic research. It ensures that the initial assumptions made about the dataset withstand scholarly scrutiny, providing a robust foundation for subsequent analyses.

1.4 Glimpse of Dataset

data=read.csv("il_chicago_2023_01_26.csv")
head(data, 5)
##                          location      lat       lng subject_age
## 1                   700 LINCOLN W 41.87440 -88.21669          23
## 2                            <NA>       NA        NA          23
## 3 0 NORTHWEST HWY & HILLSIDE RD S 42.14670 -88.11955          38
## 4                 108 LAMON AVE N 41.88207 -87.74783          35
## 5                 3451 177TH ST W 41.56799 -87.70103          20
##        subject_race subject_sex officer_age      officer_race officer_sex
## 1 African Americans        male          NA         Caucasian        male
## 2 Hispanic / Latino        male          NA         Caucasian        male
## 3         Caucasian      female          NA              <NA>        <NA>
## 4 African Americans        male          34 African Americans        male
## 5 African Americans        male          NA              <NA>        <NA>
##        type                                 violation arrest_made
## 1 vehicular              DRIVING ON SUSPENDED LICENSE        TRUE
## 2 vehicular              DRIVING/NEVER ISSUED LICENSE        TRUE
## 3 vehicular              DRIVING ON SUSPENDED LICENSE        TRUE
## 4 vehicular       IVC - FAIL TO STOP/SIGNAL CROSSWALK        TRUE
## 5 vehicular IVC - DRIVING 15-20 MPH ABOVE SPEED LIMIT        TRUE

1.5 Structure and Summary of Dataset

str(data)
## 'data.frame':    1048575 obs. of  12 variables:
##  $ location    : chr  "700 LINCOLN W" NA "0 NORTHWEST HWY & HILLSIDE RD S" "108 LAMON AVE N" ...
##  $ lat         : num  41.9 NA 42.1 41.9 41.6 ...
##  $ lng         : num  -88.2 NA -88.1 -87.7 -87.7 ...
##  $ subject_age : int  23 23 38 35 20 22 63 31 26 22 ...
##  $ subject_race: chr  "African Americans" "Hispanic / Latino" "Caucasian" "African Americans" ...
##  $ subject_sex : chr  "male" "male" "female" "male" ...
##  $ officer_age : int  NA NA NA 34 NA NA NA NA 41 NA ...
##  $ officer_race: chr  "Caucasian" "Caucasian" NA "African Americans" ...
##  $ officer_sex : chr  "male" "male" NA "male" ...
##  $ type        : chr  "vehicular" "vehicular" "vehicular" "vehicular" ...
##  $ violation   : chr  "DRIVING ON SUSPENDED LICENSE" "DRIVING/NEVER ISSUED LICENSE" "DRIVING ON SUSPENDED LICENSE" "IVC - FAIL TO STOP/SIGNAL CROSSWALK" ...
##  $ arrest_made : logi  TRUE TRUE TRUE TRUE TRUE TRUE ...
xkablesummary(data, title = "Summary of Dataset")
Summary of Dataset
location lat lng subject_age subject_race subject_sex officer_age officer_race officer_sex type violation arrest_made
Min Length:1048575 Min. :41.34 Min. :-88.45 Min. : 10.0 Length:1048575 Length:1048575 Min. :11.0 Length:1048575 Length:1048575 Length:1048575 Length:1048575 Mode:logical
Q1 Class :character 1st Qu.:41.77 1st Qu.:-87.72 1st Qu.: 25.0 Class :character Class :character 1st Qu.:34.0 Class :character Class :character Class :character Class :character TRUE:212249
Median Mode :character Median :41.87 Median :-87.66 Median : 32.0 Mode :character Mode :character Median :40.0 Mode :character Mode :character Mode :character Mode :character NA’s:836326
Mean NA Mean :41.85 Mean :-87.68 Mean : 34.7 NA NA Mean :40.5 NA NA NA NA NA
Q3 NA 3rd Qu.:41.91 3rd Qu.:-87.63 3rd Qu.: 42.0 NA NA 3rd Qu.:46.0 NA NA NA NA NA
Max NA Max. :42.45 Max. :-87.00 Max. :100.0 NA NA Max. :69.0 NA NA NA NA NA
NA NA NA’s :102971 NA’s :102971 NA’s :634728 NA NA NA’s :988512 NA NA NA NA NA

2 Cleaning Dataset

data2 <- data[!(data$subject_race %in% c("unknown", "other") | data$officer_race %in% c("unknown", "other")), ]

We removed “unknown” and “other” races from subject_race and officer_race.

nrow(data2)
## [1] 1040987

2.1 Null Values

colSums(is.na(data2))
##     location          lat          lng  subject_age subject_race  subject_sex 
##        70161       100845       100845       631413       626423          383 
##  officer_age officer_race  officer_sex         type    violation  arrest_made 
##       981544       261440       261440            1            1       833012
#removing missing values
cleaned_data<-na.omit(data2)

2.2 Post Removal of Null Values

After we removed the null values, we glimpse into the structure and summary of dataset.

str(cleaned_data)
## 'data.frame':    49819 obs. of  12 variables:
##  $ location    : chr  "108 LAMON AVE N" "430 STATE ST N" "4225 ARMITAGE AVE W" "204 144TH W" ...
##  $ lat         : num  41.9 41.9 41.9 41.6 42 ...
##  $ lng         : num  -87.7 -87.6 -87.7 -87.6 -87.8 ...
##  $ subject_age : int  35 26 26 33 36 22 21 27 46 22 ...
##  $ subject_race: chr  "African Americans" "Caucasian" "Hispanic / Latino" "African Americans" ...
##  $ subject_sex : chr  "male" "female" "male" "male" ...
##  $ officer_age : int  34 41 32 50 60 32 40 37 32 52 ...
##  $ officer_race: chr  "African Americans" "Caucasian" "Caucasian" "Caucasian" ...
##  $ officer_sex : chr  "male" "male" "male" "male" ...
##  $ type        : chr  "vehicular" "vehicular" "vehicular" "vehicular" ...
##  $ violation   : chr  "IVC - FAIL TO STOP/SIGNAL CROSSWALK" "OBSTRUCTION OF TRAFFIC BY NON-MOTORIST" "DRIVING ON SUSPENDED LICENSE" "DRIVING ON SUSPENDED LICENSE" ...
##  $ arrest_made : logi  TRUE TRUE TRUE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' Named int [1:991168] 1 2 3 5 6 7 8 10 12 13 ...
##   ..- attr(*, "names")= chr [1:991168] "1" "2" "3" "5" ...
xkablesummary(cleaned_data, title = "Summary of Cleaned Dataset")
Summary of Cleaned Dataset
location lat lng subject_age subject_race subject_sex officer_age officer_race officer_sex type violation arrest_made
Min Length:49819 Min. :41.35 Min. :-88.44 Min. :17.00 Length:49819 Length:49819 Min. :13.00 Length:49819 Length:49819 Length:49819 Length:49819 Mode:logical
Q1 Class :character 1st Qu.:41.77 1st Qu.:-87.75 1st Qu.:24.00 Class :character Class :character 1st Qu.:34.00 Class :character Class :character Class :character Class :character TRUE:49819
Median Mode :character Median :41.87 Median :-87.71 Median :30.00 Mode :character Mode :character Median :38.00 Mode :character Mode :character Mode :character Mode :character NA
Mean NA Mean :41.84 Mean :-87.71 Mean :32.45 NA NA Mean :39.42 NA NA NA NA NA
Q3 NA 3rd Qu.:41.91 3rd Qu.:-87.65 3rd Qu.:39.00 NA NA 3rd Qu.:45.00 NA NA NA NA NA
Max NA Max. :42.45 Max. :-87.03 Max. :92.00 NA NA Max. :68.00 NA NA NA NA NA

Cross checking for null values in dataset.

colSums(is.na(cleaned_data))
##     location          lat          lng  subject_age subject_race  subject_sex 
##            0            0            0            0            0            0 
##  officer_age officer_race  officer_sex         type    violation  arrest_made 
##            0            0            0            0            0            0

3 Detecting & Removing Outliers

An outlier is a data point that significantly deviates from the majority of other data points in a dataset, and in Exploratory Data Analysis (EDA), outliers can significantly affect the interpretation of data by skewing visualizations, impacting statistical measures like the mean, and potentially misleading conclusions drawn from the analysis if not properly identified and handled. Outliers can be unusually high or low compared to the majority of the data points.[5]

In this analysis, we specifically focus on identifying outliers in the age groups of officers and subjects. By examining these outliers, we aim to ensure that our findings are robust and representative of the overall dataset, minimizing any undue influence from extreme values. This process strengthens the validity of our analysis by providing a more accurate portrayal of the data trends and relationships.

ggplot(cleaned_data, aes(x = subject_race, y = subject_age)) +
  geom_boxplot(fill = "lightblue", color = "darkblue") +
  labs(title = "Subject Age Distribution by Race", x = "Subject Race", y = "Subject Age") +
  theme_minimal()

ggplot(cleaned_data, aes(x = officer_race, y = officer_age)) +
  geom_boxplot(fill = "lightblue", color = "darkblue") +
  labs(title = "Subject Age Distribution by Race", x = "Officer Race", y = "Officer Age") +
  theme_minimal()

cleansubject_age=outlierKD2(cleaned_data,subject_age,rm=TRUE,qqplt = TRUE)

## Outliers identified: 557 
## Proportion (%) of outliers: 1.1 
## Mean of the outliers: 66.11 
## Mean without removing outliers: 32.45 
## Mean if we remove outliers: 32.07 
## Outliers successfully removed
cleanofficer_age=outlierKD2(cleaned_data,officer_age,rm=TRUE,qqplt = TRUE)

## Outliers identified: 213 
## Proportion (%) of outliers: 0.4 
## Mean of the outliers: 61.91 
## Mean without removing outliers: 39.42 
## Mean if we remove outliers: 39.32 
## Outliers successfully removed

‘outlierKD2’ has identified and removed outliers, but it did not actually drop the rows from the dataframe. The outlierKD2 function only returns a modified column but does not update the dataframe in place. We manually remove the rows that contain outliers from cleaned_data dataframe.

Q1_subject <- quantile(cleaned_data$subject_age, 0.25)
Q3_subject <- quantile(cleaned_data$subject_age, 0.75)
IQR_subject <- Q3_subject - Q1_subject


lower_bound_subject <- Q1_subject - 1.5 * IQR_subject
upper_bound_subject <- Q3_subject + 1.5 * IQR_subject


cleaned_data <- cleaned_data[cleaned_data$subject_age >= lower_bound_subject & cleaned_data$subject_age <= upper_bound_subject, ]
Q1_officer <- quantile(cleaned_data$officer_age, 0.25)
Q3_officer <- quantile(cleaned_data$officer_age, 0.75)
IQR_officer <- Q3_officer - Q1_officer

lower_bound_officer <- Q1_officer - 1.5 * IQR_officer
upper_bound_officer <- Q3_officer + 1.5 * IQR_officer

cleaned_data <- cleaned_data[cleaned_data$officer_age >= lower_bound_officer & cleaned_data$officer_age <= upper_bound_officer, ]

3.1 Outliers Are Removed

nrow(cleaned_data)
## [1] 49051

3.2 Extreme Values Removed

summary(cleaned_data$subject_age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   17.00   24.00   30.00   32.06   38.00   61.00
summary(cleaned_data$officer_age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   18.00   34.00   38.00   39.31   44.00   61.00
top_violations <- cleaned_data %>%
  count(violation, sort = TRUE) %>%    
  top_n(10, n)                        


final_data <- cleaned_data %>%
  filter(violation %in% top_violations$violation)

We filtered the dataset to retain records of top 10 violations.

str(final_data)
## 'data.frame':    31217 obs. of  12 variables:
##  $ location    : chr  "430 STATE ST N" "4225 ARMITAGE AVE W" "204 144TH W" "6940 WINDSOR AVE W" ...
##  $ lat         : num  41.9 41.9 41.6 42 41.8 ...
##  $ lng         : num  -87.6 -87.7 -87.6 -87.8 -87.7 ...
##  $ subject_age : int  26 26 33 36 22 21 29 49 33 53 ...
##  $ subject_race: chr  "Caucasian" "Hispanic / Latino" "African Americans" "Caucasian" ...
##  $ subject_sex : chr  "female" "male" "male" "male" ...
##  $ officer_age : int  41 32 50 60 32 40 45 47 33 44 ...
##  $ officer_race: chr  "Caucasian" "Caucasian" "Caucasian" "Caucasian" ...
##  $ officer_sex : chr  "male" "male" "male" "male" ...
##  $ type        : chr  "vehicular" "vehicular" "vehicular" "vehicular" ...
##  $ violation   : chr  "OBSTRUCTION OF TRAFFIC BY NON-MOTORIST" "DRIVING ON SUSPENDED LICENSE" "DRIVING ON SUSPENDED LICENSE" "DRIVING ON SUSPENDED LICENSE" ...
##  $ arrest_made : logi  TRUE TRUE TRUE TRUE TRUE TRUE ...
##  - attr(*, "na.action")= 'omit' Named int [1:991168] 1 2 3 5 6 7 8 10 12 13 ...
##   ..- attr(*, "names")= chr [1:991168] "1" "2" "3" "5" ...
head(final_data, 10)
##                  location      lat       lng subject_age      subject_race
## 1          430 STATE ST N 41.89032 -87.62822          26         Caucasian
## 2     4225 ARMITAGE AVE W 41.91681 -87.73230          26 Hispanic / Latino
## 3             204 144TH W 41.63337 -87.62735          33 African Americans
## 4      6940 WINDSOR AVE W 41.96374 -87.80260          36         Caucasian
## 5    1011 GARFIELD BLVD W 41.79358 -87.65053          22 African Americans
## 6    13455 MACKINAW AVE S 41.65029 -87.54207          21 Hispanic / Latino
## 7             2400 17TH N 41.85854 -87.68589          29 African Americans
## 8        1600 OAKTON ST E 42.02446 -87.88432          49 Hispanic / Latino
## 9  1106 SPRINGFIELD AVE N 41.90116 -87.72404          33 African Americans
## 10      6300 LINDER AVE S 41.77809 -87.75929          53         Caucasian
##    subject_sex officer_age      officer_race officer_sex      type
## 1       female          41         Caucasian        male vehicular
## 2         male          32         Caucasian        male vehicular
## 3         male          50         Caucasian        male vehicular
## 4         male          60         Caucasian        male vehicular
## 5         male          32         Caucasian        male vehicular
## 6         male          40 Hispanic / Latino        male vehicular
## 7         male          45         Caucasian        male vehicular
## 8       female          47         Caucasian        male vehicular
## 9         male          33 Hispanic / Latino        male vehicular
## 10        male          44 Hispanic / Latino        male vehicular
##                                 violation arrest_made
## 1  OBSTRUCTION OF TRAFFIC BY NON-MOTORIST        TRUE
## 2            DRIVING ON SUSPENDED LICENSE        TRUE
## 3            DRIVING ON SUSPENDED LICENSE        TRUE
## 4            DRIVING ON SUSPENDED LICENSE        TRUE
## 5            DRIVING ON SUSPENDED LICENSE        TRUE
## 6            DRIVING/NEVER ISSUED LICENSE        TRUE
## 7            DRIVING ON SUSPENDED LICENSE        TRUE
## 8            DRIVING ON SUSPENDED LICENSE        TRUE
## 9              DRIVING ON REVOKED LICENSE        TRUE
## 10   HEADLIGHT TWO REQUIRED-MOTOR VEHICLE        TRUE
print(unique(final_data$violation))
##  [1] "OBSTRUCTION OF TRAFFIC BY NON-MOTORIST"           
##  [2] "DRIVING ON SUSPENDED LICENSE"                     
##  [3] "DRIVING/NEVER ISSUED LICENSE"                     
##  [4] "DRIVING ON REVOKED LICENSE"                       
##  [5] "HEADLIGHT TWO REQUIRED-MOTOR VEHICLE"             
##  [6] "NO VALID REGISTRATION"                            
##  [7] "POSS TITLE/REGISTRATION NOT AUTHORIZED ON VEHICLE"
##  [8] "IVC - NOT WEARING SEAT BELT/DRIVER"               
##  [9] "STOP AT STOP SIGN"                                
## [10] "DRIVING RVK/SUSP DUI/SSS 2ND"

4 Visualization

As part of our analysis, we first pre-processed the data to ensure its integrity and completeness, establishing a reliable foundation for subsequent analysis and visualization. With a clean and well-structured dataset, we are now prepared to delve into data visualization and exploration to uncover meaningful patterns and insights.

Data visualization is a crucial element of Exploratory Data Analysis (EDA), offering a way for data analysts to engage visually with the data, which aids in understanding the relationships between variables and identifying potential trends. By creating visual representations, we could effectively interpret the dataset’s underlying structure, facilitating a more intuitive and insightful analysis.[6]

4.1 Bar Plot

ggplot(final_data, aes(x = subject_race)) +
  geom_bar(fill = "steelblue", color = "black") +
  labs(title = "Distribution of Police Stops by Subject Race", x = "Subject Race", y = "Count") +
  theme_minimal()

The above bar plot shows the distribution of police stops by subject race, with African/American subjects having the highest count of arrests, followed by Hispanic/Latino and Caucasian subjects. The number of stops for Asian/Pacific Islander is significantly lower in comparison.

ggplot(final_data, aes(x = officer_race)) +
  geom_bar(fill = "coral", color = "black") +
  labs(title = "Distribution of Police Stops by Officer Race", x = "Officer Race", y = "Count") +
  theme_minimal()

The above bar plot illustrates the distribution of police stops by officer race. It shows that Caucasian officers are involved in the highest number of police stops, followed by Hispanic/Latino and African American officers. Asian/Pacific Islander officers are involved in a relatively low number of stops.

4.2 Violin Plot

ggplot(final_data, aes(x = subject_race, y = subject_age, fill = subject_race)) +
  geom_violin(scale = "width", trim = FALSE) +
  geom_boxplot(width = 0.1, position = position_dodge(width = 0.9)) +
  labs(title = "Distribution of Subject Age by Race",
       x = "Subject Race", y = "Subject Age", fill ="Subject_Race") +
  theme_minimal()

This violin plot showcases distribution of subject age across different racial groups. The wider parts of the violin indicate higher densities of points; the narrow part indicates low-density concentrations for points at a certain age. For the four groups represented, the median age is mainly between 30 and 40 years. Asian/Pacific Islander subjects have the widest age spread, with some older outliers, while the Hispanic/Latino subjects have more concentrated and younger age range.

4.3 Box Plot

ggplot(final_data, aes(x = officer_race, y = officer_age, fill = officer_race)) +
  geom_boxplot() +
  labs(title = "Distribution by Officer Age by Race", x = "Officer Race", y = "Officer Age") +
  theme_minimal()

The box plot shows distribution of officer age across different racial groups. The median age for all groups is somewhere in the early and mid-40s; African American officers are the exception, with a little bit higher median age than others. Asian/Pacific Islander and Hispanic/Latino officers demonstrate narrower distributions in terms of age, with most officers being close to age 40.

4.4 Stacked Bar Plot

ggplot(final_data, aes(x = officer_age, fill = subject_race)) +
  geom_bar(position = "fill") +
  facet_wrap(~ officer_sex) +
  scale_y_continuous(labels = scales::percent) +
  labs(title = "Proportion of Subject Race by Officer Age and Gender",
       x = "Officer Age", y = "Proportion of Subjects Arrested",
       fill = "Subject Race") +
  theme_minimal()

The above stacked bar plot shows the proportion of different racial groups arrested by the age and gender of officers. In general, for both female and male officers, younger officers arrested more African-Americans and Hispanics/Latinos while older ones arrested an increased proportion of Caucasians and Asian/Pacific Islanders. Overall, this means that the racial distribution of arrests shifts with the age of the officer and varies slightly by gender.

4.5 Heatmap

race_correlation <- as.data.frame(table(final_data$subject_race, final_data$officer_race))
ggplot(race_correlation, aes(x = Var1, y = Var2, fill = Freq)) +
  geom_tile(color = "black") +  
  scale_fill_gradient(low = "white", high = "lightblue") +  
  labs(title = "Correlation between Subject and Officer Race", 
       x = "Subject Race", 
       y = "Officer Race", 
       fill = "Count") +
  theme_minimal()

The heatmap reveals the correlation between officer race and the race of subjects they interacted with. Darker blue colors signify greater frequency of occurrences. The Caucasian officers significantly interacted with African American subjects. Interaction with subjects from among the other officer races shows weaker correlations, evidenced by the lighter blue coloration of the cells in the matrix. Hispanic/Latino officers tend to stop more Hispanic/Latino subjects, while other race combinations occur less frequently, indicating potential racial correlations in police stops.

4.6 Maps

violation_pal <- colorFactor(palette = "Set3", domain = final_data$violation)

leaflet(data = final_data) %>%
  addTiles() %>%
  addCircleMarkers(
    lng = ~lng, lat = ~lat, 
    color = ~violation_pal(violation),  
    popup = ~paste("Violation:", violation, "<br>",
                   "Subject Age:", subject_age, "<br>",
                   "Officer Age:", officer_age),
    radius = 5,
    stroke = FALSE,
    fillOpacity = 0.8
  ) %>%
  addLegend(
    position = "bottomright", 
    pal = violation_pal, 
    values = ~violation,
    title = "Violation Type"
  )

The map above gives us a good view of the top 10 violations across the city.

4.7 Bar Plot

top_race_per_violation <- final_data %>%
  group_by(violation, subject_race) %>%
  summarise(count = n(), .groups = "drop") %>%
  arrange(desc(count)) %>%
  slice_max(order_by = count, by = violation, n = 1)

ggplot(top_race_per_violation, aes(x = violation, y = count, fill = violation)) +
  geom_bar(stat = "identity") +
  labs(title = "Top Subject Race by Violation",
       x = "Violation Type",
       y = "Count") +
  theme_minimal() +
  geom_text(aes(label = subject_race), angle = 90, vjust = -0.5, hjust = 0.5) +  
  theme(axis.text.x = element_blank(),  
        axis.title.x = element_blank()) +  
  scale_fill_brewer(palette = "Set3")

The above bar plot shows the subject race violating specific rules the highest, for each type of violation.

5 Hypothesis Testing

In an analysis, a hypothesis is a preliminary assumption or prediction based on existing knowledge, which guides exploration and testing. This testing is typically done through statistical methods such as t-tests for mean comparisons or chi-square tests for categorical data relationships, yielding p-values that indicate whether observed patterns are statistically significant.[7]

Hypotheses serve as focal points in EDA, helping to frame specific questions and streamline investigation by directing attention toward the most relevant variables and relationships. Through hypothesis testing, assumptions are rigorously evaluated, allowing for meaningful interpretation and robust insights that align with the project’s objectives. By narrowing the focus, hypotheses provide structure and efficiency to EDA, connecting exploratory analysis with deeper inferential statistics or predictive modeling. This approach ensures that findings are not only descriptive but also actionable, enhancing decision-making and potentially shaping strategic direction.

# Ensuring subject_race and officer_race are factors
cleaned_data$subject_race <- as.factor(cleaned_data$subject_race)
cleaned_data$officer_race <- as.factor(cleaned_data$officer_race)

Null Hypothesis (H₀): There is no significant effect of subject race, officer race, and their interaction on the likelihood of arrests during police stops.

Alternative Hypothesis (H₁): There is significant effect of subject race, officer race, and their interaction on the likelihood of arrests during police stops.

5.1 Chi - Square Test For Likelihood of Arrest

The Chi-Square Test is used to analyze the association between two categorical variables. In this case, we examine if there’s a relationship between subject race and officer race in terms of arrest outcomes. Specifically, the test assesses whether arrest likelihood varies significantly across different race pairings

# Chi-Square test for association between subject_race and officer_race
chisq_result <- chisq.test(table(final_data$subject_race, final_data$officer_race))
## Warning in chisq.test(table(final_data$subject_race, final_data$officer_race)):
## Chi-squared approximation may be incorrect
print(chisq_result)
## 
##  Pearson's Chi-squared test
## 
## data:  table(final_data$subject_race, final_data$officer_race)
## X-squared = 926.85, df = 9, p-value < 2.2e-16

Note: The warning sign typically occurs when the expected frequencies in some categories are very low. The test can still provide meaningful insights, but we keep limitation in mind.

The p-value is extremely small (less than 0.05), hence we reject the null hypothesis.

There is a significant association between subject race and officer race. It implies that an officer’s race may influence the decision to arrest subjects based on their race.

5.2 ANOVA Test For Likelihood of Arrest

While the Chi-Square Test showed an association, it does not reveal how these factors interact with each other or quantify the strength of their effects. ANOVA, however, allows us to go further by assessing how strongly each variable and their interactions impact an outcome.

anova_result <- aov(officer_age ~ subject_race * officer_race, data = final_data)
summary(anova_result)
##                              Df  Sum Sq Mean Sq F value Pr(>F)    
## subject_race                  3   56769   18923  386.21 <2e-16 ***
## officer_race                  3   39602   13201  269.42 <2e-16 ***
## subject_race:officer_race     9   12197    1355   27.66 <2e-16 ***
## Residuals                 31201 1528720      49                   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Since the p-values for subject race, officer race, and their interaction are all highly significant (p < 2e-16), we reject the null hypothesis.

Thus, we conclude that there is strong evidence to suggest that the race of the subject, the race of the officer, and their interaction between the two significantly impact the outcome of arrests during police stops.

5.3 Post - HOC Test

Since the ANOVA result is significant, we perform a Tukey’s HSD to see which specific groups (combinations of subject race and officer race) have significant differences in the likelihood of arrests. This step is essential because while ANOVA reveals whether there’s an effect, the post-hoc test identifies precisely which groups differ. This adds nuance to our findings, allowing us to understand if certain combinations of subject and officer race lead to significantly different arrest outcomes compared to others.

tukey_result <- TukeyHSD(anova_result)
print(tukey_result)
##   Tukey multiple comparisons of means
##     95% family-wise confidence level
## 
## Fit: aov(formula = officer_age ~ subject_race * officer_race, data = final_data)
## 
## $subject_race
##                                               diff         lwr        upr
## Asian/Pacific Islander-African Americans  2.856350  1.16690902  4.5457913
## Caucasian-African Americans               4.606114  4.21510860  4.9971184
## Hispanic / Latino-African Americans       1.820169  1.59928294  2.0410550
## Caucasian-Asian/Pacific Islander          1.749763  0.02586807  3.4736587
## Hispanic / Latino-Asian/Pacific Islander -1.036181 -2.72961577  0.6572535
## Hispanic / Latino-Caucasian              -2.785945 -3.19385917 -2.3780299
##                                              p adj
## Asian/Pacific Islander-African Americans 0.0000827
## Caucasian-African Americans              0.0000000
## Hispanic / Latino-African Americans      0.0000000
## Caucasian-Asian/Pacific Islander         0.0450984
## Hispanic / Latino-Asian/Pacific Islander 0.3947311
## Hispanic / Latino-Caucasian              0.0000000
## 
## $officer_race
##                                                diff        lwr        upr
## Asian/Pacific Islander-African Americans -4.2430725 -4.8837276 -3.6024174
## Caucasian-African Americans              -2.1497408 -2.4949342 -1.8045474
## Hispanic / Latino-African Americans      -3.9803093 -4.3707613 -3.5898573
## Caucasian-Asian/Pacific Islander          2.0933317  1.5250837  2.6615797
## Hispanic / Latino-Asian/Pacific Islander  0.2627632 -0.3340618  0.8595882
## Hispanic / Latino-Caucasian              -1.8305685 -2.0853617 -1.5757752
##                                              p adj
## Asian/Pacific Islander-African Americans 0.0000000
## Caucasian-African Americans              0.0000000
## Hispanic / Latino-African Americans      0.0000000
## Caucasian-Asian/Pacific Islander         0.0000000
## Hispanic / Latino-Asian/Pacific Islander 0.6702833
## Hispanic / Latino-Caucasian              0.0000000
## 
## $`subject_race:officer_race`
##                                                                                                diff
## Asian/Pacific Islander:African Americans-African Americans:African Americans             4.84068660
## Caucasian:African Americans-African Americans:African Americans                          0.73249946
## Hispanic / Latino:African Americans-African Americans:African Americans                  0.83179771
## African Americans:Asian/Pacific Islander-African Americans:African Americans            -2.10083387
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:African Americans       -1.64820229
## Caucasian:Asian/Pacific Islander-African Americans:African Americans                    -0.59507729
## Hispanic / Latino:Asian/Pacific Islander-African Americans:African Americans            -5.47076866
## African Americans:Caucasian-African Americans:African Americans                         -2.80173602
## Asian/Pacific Islander:Caucasian-African Americans:African Americans                     0.02496844
## Caucasian:Caucasian-African Americans:African Americans                                  2.45654956
## Hispanic / Latino:Caucasian-African Americans:African Americans                         -0.12317488
## African Americans:Hispanic / Latino-African Americans:African Americans                 -4.06531721
## Asian/Pacific Islander:Hispanic / Latino-African Americans:African Americans            -0.93709118
## Caucasian:Hispanic / Latino-African Americans:African Americans                         -0.26450323
## Hispanic / Latino:Hispanic / Latino-African Americans:African Americans                 -2.74004659
## Caucasian:African Americans-Asian/Pacific Islander:African Americans                    -4.10818713
## Hispanic / Latino:African Americans-Asian/Pacific Islander:African Americans            -4.00888889
## African Americans:Asian/Pacific Islander-Asian/Pacific Islander:African Americans       -6.94152047
## Asian/Pacific Islander:Asian/Pacific Islander-Asian/Pacific Islander:African Americans  -6.48888889
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:African Americans               -5.43576389
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:African Americans      -10.31145526
## African Americans:Caucasian-Asian/Pacific Islander:African Americans                    -7.64242262
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:African Americans               -4.81571816
## Caucasian:Caucasian-Asian/Pacific Islander:African Americans                            -2.38413704
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:African Americans                    -4.96386148
## African Americans:Hispanic / Latino-Asian/Pacific Islander:African Americans            -8.90600380
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:African Americans       -5.77777778
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:African Americans                    -5.10518983
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:African Americans            -7.58073319
## Hispanic / Latino:African Americans-Caucasian:African Americans                          0.09929825
## African Americans:Asian/Pacific Islander-Caucasian:African Americans                    -2.83333333
## Asian/Pacific Islander:Asian/Pacific Islander-Caucasian:African Americans               -2.38070175
## Caucasian:Asian/Pacific Islander-Caucasian:African Americans                            -1.32757675
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:African Americans                    -6.20326813
## African Americans:Caucasian-Caucasian:African Americans                                 -3.53423548
## Asian/Pacific Islander:Caucasian-Caucasian:African Americans                            -0.70753102
## Caucasian:Caucasian-Caucasian:African Americans                                          1.72405009
## Hispanic / Latino:Caucasian-Caucasian:African Americans                                 -0.85567434
## African Americans:Hispanic / Latino-Caucasian:African Americans                         -4.79781667
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:African Americans                    -1.66959064
## Caucasian:Hispanic / Latino-Caucasian:African Americans                                 -0.99700269
## Hispanic / Latino:Hispanic / Latino-Caucasian:African Americans                         -3.47254605
## African Americans:Asian/Pacific Islander-Hispanic / Latino:African Americans            -2.93263158
## Asian/Pacific Islander:Asian/Pacific Islander-Hispanic / Latino:African Americans       -2.48000000
## Caucasian:Asian/Pacific Islander-Hispanic / Latino:African Americans                    -1.42687500
## Hispanic / Latino:Asian/Pacific Islander-Hispanic / Latino:African Americans            -6.30256637
## African Americans:Caucasian-Hispanic / Latino:African Americans                         -3.63353373
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:African Americans                    -0.80682927
## Caucasian:Caucasian-Hispanic / Latino:African Americans                                  1.62475185
## Hispanic / Latino:Caucasian-Hispanic / Latino:African Americans                         -0.95497259
## African Americans:Hispanic / Latino-Hispanic / Latino:African Americans                 -4.89711491
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:African Americans            -1.76888889
## Caucasian:Hispanic / Latino-Hispanic / Latino:African Americans                         -1.09630094
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:African Americans                 -3.57184430
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:Asian/Pacific Islander   0.45263158
## Caucasian:Asian/Pacific Islander-African Americans:Asian/Pacific Islander                1.50575658
## Hispanic / Latino:Asian/Pacific Islander-African Americans:Asian/Pacific Islander       -3.36993479
## African Americans:Caucasian-African Americans:Asian/Pacific Islander                    -0.70090215
## Asian/Pacific Islander:Caucasian-African Americans:Asian/Pacific Islander                2.12580231
## Caucasian:Caucasian-African Americans:Asian/Pacific Islander                             4.55738343
## Hispanic / Latino:Caucasian-African Americans:Asian/Pacific Islander                     1.97765899
## African Americans:Hispanic / Latino-African Americans:Asian/Pacific Islander            -1.96448334
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Asian/Pacific Islander        1.16374269
## Caucasian:Hispanic / Latino-African Americans:Asian/Pacific Islander                     1.83633064
## Hispanic / Latino:Hispanic / Latino-African Americans:Asian/Pacific Islander            -0.63921272
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander           1.05312500
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander  -3.82256637
## African Americans:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander               -1.15353373
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander           1.67317073
## Caucasian:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander                        4.10475185
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander                1.52502741
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander       -2.41711491
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander   0.71111111
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander                1.38369906
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander       -1.09184430
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:Asian/Pacific Islander               -4.87569137
## African Americans:Caucasian-Caucasian:Asian/Pacific Islander                            -2.20665873
## Asian/Pacific Islander:Caucasian-Caucasian:Asian/Pacific Islander                        0.62004573
## Caucasian:Caucasian-Caucasian:Asian/Pacific Islander                                     3.05162685
## Hispanic / Latino:Caucasian-Caucasian:Asian/Pacific Islander                             0.47190241
## African Americans:Hispanic / Latino-Caucasian:Asian/Pacific Islander                    -3.47023991
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Asian/Pacific Islander               -0.34201389
## Caucasian:Hispanic / Latino-Caucasian:Asian/Pacific Islander                             0.33057406
## Hispanic / Latino:Hispanic / Latino-Caucasian:Asian/Pacific Islander                    -2.14496930
## African Americans:Caucasian-Hispanic / Latino:Asian/Pacific Islander                     2.66903264
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:Asian/Pacific Islander                5.49573710
## Caucasian:Caucasian-Hispanic / Latino:Asian/Pacific Islander                             7.92731822
## Hispanic / Latino:Caucasian-Hispanic / Latino:Asian/Pacific Islander                     5.34759378
## African Americans:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander             1.40545146
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander        4.53367748
## Caucasian:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander                     5.20626543
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander             2.73072207
## Asian/Pacific Islander:Caucasian-African Americans:Caucasian                             2.82670446
## Caucasian:Caucasian-African Americans:Caucasian                                          5.25828557
## Hispanic / Latino:Caucasian-African Americans:Caucasian                                  2.67856114
## African Americans:Hispanic / Latino-African Americans:Caucasian                         -1.26358119
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Caucasian                     1.86464484
## Caucasian:Hispanic / Latino-African Americans:Caucasian                                  2.53723279
## Hispanic / Latino:Hispanic / Latino-African Americans:Caucasian                          0.06168943
## Caucasian:Caucasian-Asian/Pacific Islander:Caucasian                                     2.43158112
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Caucasian                            -0.14814332
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Caucasian                    -4.09028565
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Caucasian               -0.96205962
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Caucasian                            -0.28947167
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Caucasian                    -2.76501503
## Hispanic / Latino:Caucasian-Caucasian:Caucasian                                         -2.57972444
## African Americans:Hispanic / Latino-Caucasian:Caucasian                                 -6.52186676
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Caucasian                            -3.39364074
## Caucasian:Hispanic / Latino-Caucasian:Caucasian                                         -2.72105279
## Hispanic / Latino:Hispanic / Latino-Caucasian:Caucasian                                 -5.19659615
## African Americans:Hispanic / Latino-Hispanic / Latino:Caucasian                         -3.94214233
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Caucasian                    -0.81391630
## Caucasian:Hispanic / Latino-Hispanic / Latino:Caucasian                                 -0.14132835
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Caucasian                         -2.61687171
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Hispanic / Latino             3.12822603
## Caucasian:Hispanic / Latino-African Americans:Hispanic / Latino                          3.80081397
## Hispanic / Latino:Hispanic / Latino-African Americans:Hispanic / Latino                  1.32527061
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino                     0.67258795
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino            -1.80295541
## Hispanic / Latino:Hispanic / Latino-Caucasian:Hispanic / Latino                         -2.47554336
##                                                                                                  lwr
## Asian/Pacific Islander:African Americans-African Americans:African Americans            -3.167273356
## Caucasian:African Americans-African Americans:African Americans                         -1.563578877
## Hispanic / Latino:African Americans-African Americans:African Americans                 -0.367353563
## African Americans:Asian/Pacific Islander-African Americans:African Americans            -3.244617750
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:African Americans      -12.383544959
## Caucasian:Asian/Pacific Islander-African Americans:African Americans                    -3.630400784
## Hispanic / Latino:Asian/Pacific Islander-African Americans:African Americans            -6.695338896
## African Americans:Caucasian-African Americans:African Americans                         -3.329630503
## Asian/Pacific Islander:Caucasian-African Americans:African Americans                    -2.665878950
## Caucasian:Caucasian-African Americans:African Americans                                  1.727943228
## Hispanic / Latino:Caucasian-African Americans:African Americans                         -0.676390398
## African Americans:Hispanic / Latino-African Americans:African Americans                 -4.671811095
## Asian/Pacific Islander:Hispanic / Latino-African Americans:African Americans            -6.609597054
## Caucasian:Hispanic / Latino-African Americans:African Americans                         -1.689301497
## Hispanic / Latino:Hispanic / Latino-African Americans:African Americans                 -3.442699237
## Caucasian:African Americans-Asian/Pacific Islander:African Americans                   -12.411496840
## Hispanic / Latino:African Americans-Asian/Pacific Islander:African Americans           -12.078023916
## African Americans:Asian/Pacific Islander-Asian/Pacific Islander:African Americans      -15.002613314
## Asian/Pacific Islander:Asian/Pacific Islander-Asian/Pacific Islander:African Americans -19.865007852
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:African Americans              -13.973103347
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:African Americans      -18.384406925
## African Americans:Caucasian-Asian/Pacific Islander:African Americans                   -15.639400101
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:African Americans              -13.236741610
## Caucasian:Caucasian-Asian/Pacific Islander:African Americans                           -10.396867131
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:African Americans                   -12.962550352
## African Americans:Hispanic / Latino-Asian/Pacific Islander:African Americans           -16.908554094
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:African Americans      -15.568094382
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:African Americans                   -13.210930167
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:African Americans           -15.591144980
## Hispanic / Latino:African Americans-Caucasian:African Americans                         -2.401800155
## African Americans:Asian/Pacific Islander-Caucasian:African Americans                    -5.308362828
## Asian/Pacific Islander:Asian/Pacific Islander-Caucasian:African Americans              -13.338124427
## Caucasian:Asian/Pacific Islander-Caucasian:African Americans                            -5.073336776
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:African Americans                    -8.716652636
## African Americans:Caucasian-Caucasian:African Americans                                 -5.791712397
## Asian/Pacific Islander:Caucasian-Caucasian:African Americans                            -4.180021356
## Caucasian:Caucasian-Caucasian:African Americans                                         -0.588609981
## Hispanic / Latino:Caucasian-Caucasian:African Americans                                 -3.119206283
## African Americans:Hispanic / Latino-Caucasian:African Americans                         -7.074956163
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:African Americans                    -7.751930023
## Caucasian:Hispanic / Latino-Caucasian:African Americans                                 -3.613790713
## Hispanic / Latino:Hispanic / Latino-Caucasian:African Americans                         -5.777161029
## African Americans:Asian/Pacific Islander-Hispanic / Latino:African Americans            -4.446487263
## Asian/Pacific Islander:Asian/Pacific Islander-Hispanic / Latino:African Americans      -13.261052809
## Caucasian:Asian/Pacific Islander-Hispanic / Latino:African Americans                    -4.620103174
## Hispanic / Latino:Asian/Pacific Islander-Hispanic / Latino:African Americans            -7.878348630
## African Americans:Caucasian-Hispanic / Latino:African Americans                         -4.757006049
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:African Americans                    -3.674611887
## Caucasian:Caucasian-Hispanic / Latino:African Americans                                  0.394148479
## Hispanic / Latino:Caucasian-Hispanic / Latino:African Americans                         -2.090562690
## African Americans:Hispanic / Latino-Hispanic / Latino:African Americans                 -6.059591713
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:African Americans            -7.527433875
## Caucasian:Hispanic / Latino-Hispanic / Latino:African Americans                         -2.832263949
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:African Americans                 -4.787261187
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:Asian/Pacific Islander -10.322403338
## Caucasian:Asian/Pacific Islander-African Americans:Asian/Pacific Islander               -1.667094499
## Hispanic / Latino:Asian/Pacific Islander-African Americans:Asian/Pacific Islander       -4.904003734
## African Americans:Caucasian-African Americans:Asian/Pacific Islander                    -1.765076874
## Asian/Pacific Islander:Caucasian-African Americans:Asian/Pacific Islander               -0.719273249
## Caucasian:Caucasian-African Americans:Asian/Pacific Islander                             3.380666620
## Hispanic / Latino:Caucasian-African Americans:Asian/Pacific Islander                     0.900699070
## African Americans:Hispanic / Latino-African Americans:Asian/Pacific Islander            -3.069757102
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Asian/Pacific Islander       -4.583527805
## Caucasian:Hispanic / Latino-African Americans:Asian/Pacific Islander                     0.138141793
## Hispanic / Latino:Hispanic / Latino-African Americans:Asian/Pacific Islander            -1.800038290
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander         -10.082687705
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander -14.606476059
## African Americans:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander              -11.880686587
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander          -9.373720033
## Caucasian:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander                       -6.634149543
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander               -9.203401331
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander      -13.148422884
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander -11.412026221
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander               -9.424778446
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander      -11.829016024
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:Asian/Pacific Islander               -8.078551758
## African Americans:Caucasian-Caucasian:Asian/Pacific Islander                            -5.212888091
## Asian/Pacific Islander:Caucasian-Caucasian:Asian/Pacific Islander                       -3.379879527
## Caucasian:Caucasian-Caucasian:Asian/Pacific Islander                                     0.003740764
## Hispanic / Latino:Caucasian-Caucasian:Asian/Pacific Islander                            -2.538876525
## African Americans:Hispanic / Latino-Caucasian:Asian/Pacific Islander                    -6.491262463
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Asian/Pacific Islander               -6.740143716
## Caucasian:Hispanic / Latino-Caucasian:Asian/Pacific Islander                            -2.954055675
## Hispanic / Latino:Hispanic / Latino-Caucasian:Asian/Pacific Islander                    -5.186755476
## African Americans:Caucasian-Hispanic / Latino:Asian/Pacific Islander                     1.518468200
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:Asian/Pacific Islander                2.617233042
## Caucasian:Caucasian-Hispanic / Latino:Asian/Pacific Islander                             6.671932567
## Hispanic / Latino:Caucasian-Hispanic / Latino:Asian/Pacific Islander                     4.185193954
## African Americans:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander             0.216771185
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander       -1.230214331
## Caucasian:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander                     3.452647443
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander             1.490219475
## Asian/Pacific Islander:Caucasian-African Americans:Caucasian                             0.168719138
## Caucasian:Caucasian-African Americans:Caucasian                                          4.662388380
## Hispanic / Latino:Caucasian-African Americans:Caucasian                                  2.317626664
## African Americans:Hispanic / Latino-African Americans:Caucasian                         -1.701828973
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Caucasian                    -3.792346338
## Caucasian:Hispanic / Latino-African Americans:Caucasian                                  1.175514614
## Hispanic / Latino:Hispanic / Latino-African Americans:Caucasian                         -0.502178487
## Caucasian:Caucasian-Asian/Pacific Islander:Caucasian                                    -0.273429153
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Caucasian                            -2.811273205
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Caucasian                    -6.764990903
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Caucasian               -7.204137501
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Caucasian                            -3.258691009
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Caucasian                    -5.463150335
## Hispanic / Latino:Caucasian-Caucasian:Caucasian                                         -3.198164643
## African Americans:Hispanic / Latino-Caucasian:Caucasian                                 -7.188391869
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Caucasian                            -9.072878693
## Caucasian:Hispanic / Latino-Caucasian:Caucasian                                         -4.172421444
## Hispanic / Latino:Hispanic / Latino-Caucasian:Caucasian                                 -5.951673376
## African Americans:Hispanic / Latino-Hispanic / Latino:Caucasian                         -4.410582232
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Caucasian                    -6.473326517
## Caucasian:Hispanic / Latino-Hispanic / Latino:Caucasian                                 -1.513061273
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Caucasian                         -3.204512630
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Hispanic / Latino            -2.536640382
## Caucasian:Hispanic / Latino-African Americans:Hispanic / Latino                          2.406741296
## Hispanic / Latino:Hispanic / Latino-African Americans:Hispanic / Latino                  0.687219461
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino                    -5.137138954
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino            -7.478922054
## Hispanic / Latino:Hispanic / Latino-Caucasian:Hispanic / Latino                         -3.914058056
##                                                                                                upr
## Asian/Pacific Islander:African Americans-African Americans:African Americans           12.84864655
## Caucasian:African Americans-African Americans:African Americans                         3.02857780
## Hispanic / Latino:African Americans-African Americans:African Americans                 2.03094898
## African Americans:Asian/Pacific Islander-African Americans:African Americans           -0.95704999
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:African Americans       9.08714038
## Caucasian:Asian/Pacific Islander-African Americans:African Americans                    2.44024620
## Hispanic / Latino:Asian/Pacific Islander-African Americans:African Americans           -4.24619843
## African Americans:Caucasian-African Americans:African Americans                        -2.27384153
## Asian/Pacific Islander:Caucasian-African Americans:African Americans                    2.71581583
## Caucasian:Caucasian-African Americans:African Americans                                 3.18515589
## Hispanic / Latino:Caucasian-African Americans:African Americans                         0.43004064
## African Americans:Hispanic / Latino-African Americans:African Americans                -3.45882332
## Asian/Pacific Islander:Hispanic / Latino-African Americans:African Americans            4.73541469
## Caucasian:Hispanic / Latino-African Americans:African Americans                         1.16029503
## Hispanic / Latino:Hispanic / Latino-African Americans:African Americans                -2.03739395
## Caucasian:African Americans-Asian/Pacific Islander:African Americans                    4.19512257
## Hispanic / Latino:African Americans-Asian/Pacific Islander:African Americans            4.06024614
## African Americans:Asian/Pacific Islander-Asian/Pacific Islander:African Americans       1.11957238
## Asian/Pacific Islander:Asian/Pacific Islander-Asian/Pacific Islander:African Americans  6.88723007
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:African Americans               3.10157557
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:African Americans      -2.23850360
## African Americans:Caucasian-Asian/Pacific Islander:African Americans                    0.35455487
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:African Americans               3.60530530
## Caucasian:Caucasian-Asian/Pacific Islander:African Americans                            5.62859305
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:African Americans                    3.03482740
## African Americans:Hispanic / Latino-Asian/Pacific Islander:African Americans           -0.90345351
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:African Americans       4.01253883
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:African Americans                    3.00055051
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:African Americans            0.42967860
## Hispanic / Latino:African Americans-Caucasian:African Americans                         2.60039665
## African Americans:Asian/Pacific Islander-Caucasian:African Americans                   -0.35830384
## Asian/Pacific Islander:Asian/Pacific Islander-Caucasian:African Americans               8.57672092
## Caucasian:Asian/Pacific Islander-Caucasian:African Americans                            2.41818327
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:African Americans                   -3.68988362
## African Americans:Caucasian-Caucasian:African Americans                                -1.27675857
## Asian/Pacific Islander:Caucasian-Caucasian:African Americans                            2.76495931
## Caucasian:Caucasian-Caucasian:African Americans                                         4.03671017
## Hispanic / Latino:Caucasian-Caucasian:African Americans                                 1.40785760
## African Americans:Hispanic / Latino-Caucasian:African Americans                        -2.52067717
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:African Americans                    4.41274874
## Caucasian:Hispanic / Latino-Caucasian:African Americans                                 1.61978532
## Hispanic / Latino:Hispanic / Latino-Caucasian:African Americans                        -1.16793108
## African Americans:Asian/Pacific Islander-Hispanic / Latino:African Americans           -1.41877589
## Asian/Pacific Islander:Asian/Pacific Islander-Hispanic / Latino:African Americans       8.30105281
## Caucasian:Asian/Pacific Islander-Hispanic / Latino:African Americans                    1.76635317
## Hispanic / Latino:Asian/Pacific Islander-Hispanic / Latino:African Americans           -4.72678411
## African Americans:Caucasian-Hispanic / Latino:African Americans                        -2.51006141
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:African Americans                    2.06095335
## Caucasian:Caucasian-Hispanic / Latino:African Americans                                 2.85535522
## Hispanic / Latino:Caucasian-Hispanic / Latino:African Americans                         0.18061751
## African Americans:Hispanic / Latino-Hispanic / Latino:African Americans                -3.73463812
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:African Americans            3.98965610
## Caucasian:Hispanic / Latino-Hispanic / Latino:African Americans                         0.63966207
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:African Americans                -2.35642741
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:Asian/Pacific Islander 11.22766650
## Caucasian:Asian/Pacific Islander-African Americans:Asian/Pacific Islander               4.67860766
## Hispanic / Latino:Asian/Pacific Islander-African Americans:Asian/Pacific Islander      -1.83586585
## African Americans:Caucasian-African Americans:Asian/Pacific Islander                    0.36327258
## Asian/Pacific Islander:Caucasian-African Americans:Asian/Pacific Islander               4.97087787
## Caucasian:Caucasian-African Americans:Asian/Pacific Islander                            5.73410023
## Hispanic / Latino:Caucasian-African Americans:Asian/Pacific Islander                    3.05461891
## African Americans:Hispanic / Latino-African Americans:Asian/Pacific Islander           -0.85920957
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Asian/Pacific Islander       6.91101319
## Caucasian:Hispanic / Latino-African Americans:Asian/Pacific Islander                    3.53451948
## Hispanic / Latino:Hispanic / Latino-African Americans:Asian/Pacific Islander            0.52161285
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander         12.18893770
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander  6.96134332
## African Americans:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander               9.57361913
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander         12.72006150
## Caucasian:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander                      14.84365324
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander              12.25345616
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander       8.31419305
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander 12.83424844
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander              12.19217657
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander       9.64532742
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:Asian/Pacific Islander              -1.67283099
## African Americans:Caucasian-Caucasian:Asian/Pacific Islander                            0.79957064
## Asian/Pacific Islander:Caucasian-Caucasian:Asian/Pacific Islander                       4.61997099
## Caucasian:Caucasian-Caucasian:Asian/Pacific Islander                                    6.09951293
## Hispanic / Latino:Caucasian-Caucasian:Asian/Pacific Islander                            3.48268135
## African Americans:Hispanic / Latino-Caucasian:Asian/Pacific Islander                   -0.44921737
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Asian/Pacific Islander               6.05611594
## Caucasian:Hispanic / Latino-Caucasian:Asian/Pacific Islander                            3.61520379
## Hispanic / Latino:Hispanic / Latino-Caucasian:Asian/Pacific Islander                    0.89681688
## African Americans:Caucasian-Hispanic / Latino:Asian/Pacific Islander                    3.81959709
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:Asian/Pacific Islander               8.37424116
## Caucasian:Caucasian-Hispanic / Latino:Asian/Pacific Islander                            9.18270387
## Hispanic / Latino:Caucasian-Hispanic / Latino:Asian/Pacific Islander                    6.50999361
## African Americans:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander            2.59413173
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander      10.29756930
## Caucasian:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander                    6.95988342
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander            3.97122467
## Asian/Pacific Islander:Caucasian-African Americans:Caucasian                            5.48468978
## Caucasian:Caucasian-African Americans:Caucasian                                         5.85418277
## Hispanic / Latino:Caucasian-African Americans:Caucasian                                 3.03949561
## African Americans:Hispanic / Latino-African Americans:Caucasian                        -0.82533340
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Caucasian                    7.52163601
## Caucasian:Hispanic / Latino-African Americans:Caucasian                                 3.89895096
## Hispanic / Latino:Hispanic / Latino-African Americans:Caucasian                         0.62555734
## Caucasian:Caucasian-Asian/Pacific Islander:Caucasian                                    5.13659139
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Caucasian                            2.51498657
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Caucasian                   -1.41558039
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Caucasian               5.28001826
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Caucasian                            2.67974766
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Caucasian                   -0.06687973
## Hispanic / Latino:Caucasian-Caucasian:Caucasian                                        -1.96128423
## African Americans:Hispanic / Latino-Caucasian:Caucasian                                -5.85534166
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Caucasian                            2.28559722
## Caucasian:Hispanic / Latino-Caucasian:Caucasian                                        -1.26968413
## Hispanic / Latino:Hispanic / Latino-Caucasian:Caucasian                                -4.44151892
## African Americans:Hispanic / Latino-Hispanic / Latino:Caucasian                        -3.47370242
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Caucasian                    4.84549391
## Caucasian:Hispanic / Latino-Hispanic / Latino:Caucasian                                 1.23040457
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Caucasian                        -2.02923080
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Hispanic / Latino            8.79309243
## Caucasian:Hispanic / Latino-African Americans:Hispanic / Latino                         5.19488665
## Hispanic / Latino:Hispanic / Latino-African Americans:Hispanic / Latino                 1.96332177
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino                    6.48231485
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino            3.87301123
## Hispanic / Latino:Hispanic / Latino-Caucasian:Hispanic / Latino                        -1.03702866
##                                                                                            p adj
## Asian/Pacific Islander:African Americans-African Americans:African Americans           0.7838997
## Caucasian:African Americans-African Americans:African Americans                        0.9994372
## Hispanic / Latino:African Americans-African Americans:African Americans                0.5655374
## African Americans:Asian/Pacific Islander-African Americans:African Americans           0.0000000
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:African Americans      1.0000000
## Caucasian:Asian/Pacific Islander-African Americans:African Americans                   0.9999990
## Hispanic / Latino:Asian/Pacific Islander-African Americans:African Americans           0.0000000
## African Americans:Caucasian-African Americans:African Americans                        0.0000000
## Asian/Pacific Islander:Caucasian-African Americans:African Americans                   1.0000000
## Caucasian:Caucasian-African Americans:African Americans                                0.0000000
## Hispanic / Latino:Caucasian-African Americans:African Americans                        0.9999942
## African Americans:Hispanic / Latino-African Americans:African Americans                0.0000000
## Asian/Pacific Islander:Hispanic / Latino-African Americans:African Americans           0.9999999
## Caucasian:Hispanic / Latino-African Americans:African Americans                        0.9999995
## Hispanic / Latino:Hispanic / Latino-African Americans:African Americans                0.0000000
## Caucasian:African Americans-Asian/Pacific Islander:African Americans                   0.9485754
## Hispanic / Latino:African Americans-Asian/Pacific Islander:African Americans           0.9467791
## African Americans:Asian/Pacific Islander-Asian/Pacific Islander:African Americans      0.1905981
## Asian/Pacific Islander:Asian/Pacific Islander-Asian/Pacific Islander:African Americans 0.9564389
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:African Americans              0.7105774
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:African Americans      0.0013112
## African Americans:Caucasian-Asian/Pacific Islander:African Americans                   0.0797142
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:African Americans              0.8476544
## Caucasian:Caucasian-Asian/Pacific Islander:African Americans                           0.9997575
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:African Americans                   0.7483804
## African Americans:Hispanic / Latino-Asian/Pacific Islander:African Americans           0.0131009
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:African Americans      0.8133548
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:African Americans                   0.7269619
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:African Americans           0.0875142
## Hispanic / Latino:African Americans-Caucasian:African Americans                        1.0000000
## African Americans:Asian/Pacific Islander-Caucasian:African Americans                   0.0086503
## Asian/Pacific Islander:Asian/Pacific Islander-Caucasian:African Americans              0.9999959
## Caucasian:Asian/Pacific Islander-Caucasian:African Americans                           0.9980983
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:African Americans                   0.0000000
## African Americans:Caucasian-Caucasian:African Americans                                0.0000096
## Asian/Pacific Islander:Caucasian-Caucasian:African Americans                           0.9999983
## Caucasian:Caucasian-Caucasian:African Americans                                        0.4314242
## Hispanic / Latino:Caucasian-Caucasian:African Americans                                0.9961337
## African Americans:Hispanic / Latino-Caucasian:African Americans                        0.0000000
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:African Americans                   0.9999112
## Caucasian:Hispanic / Latino-Caucasian:African Americans                                0.9957940
## Hispanic / Latino:Hispanic / Latino-Caucasian:African Americans                        0.0000285
## African Americans:Asian/Pacific Islander-Hispanic / Latino:African Americans           0.0000000
## Asian/Pacific Islander:Asian/Pacific Islander-Hispanic / Latino:African Americans      0.9999911
## Caucasian:Asian/Pacific Islander-Hispanic / Latino:African Americans                   0.9791090
## Hispanic / Latino:Asian/Pacific Islander-Hispanic / Latino:African Americans           0.0000000
## African Americans:Caucasian-Hispanic / Latino:African Americans                        0.0000000
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:African Americans                   0.9998789
## Caucasian:Caucasian-Hispanic / Latino:African Americans                                0.0006742
## Hispanic / Latino:Caucasian-Hispanic / Latino:African Americans                        0.2243308
## African Americans:Hispanic / Latino-Hispanic / Latino:African Americans                0.0000000
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:African Americans           0.9996425
## Caucasian:Hispanic / Latino-Hispanic / Latino:African Americans                        0.7229485
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:African Americans                0.0000000
## Asian/Pacific Islander:Asian/Pacific Islander-African Americans:Asian/Pacific Islander 1.0000000
## Caucasian:Asian/Pacific Islander-African Americans:Asian/Pacific Islander              0.9639654
## Hispanic / Latino:Asian/Pacific Islander-African Americans:Asian/Pacific Islander      0.0000000
## African Americans:Caucasian-African Americans:Asian/Pacific Islander                   0.6563014
## Asian/Pacific Islander:Caucasian-African Americans:Asian/Pacific Islander              0.4271671
## Caucasian:Caucasian-African Americans:Asian/Pacific Islander                           0.0000000
## Hispanic / Latino:Caucasian-African Americans:Asian/Pacific Islander                   0.0000000
## African Americans:Hispanic / Latino-African Americans:Asian/Pacific Islander           0.0000001
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Asian/Pacific Islander      0.9999984
## Caucasian:Hispanic / Latino-African Americans:Asian/Pacific Islander                   0.0194520
## Hispanic / Latino:Hispanic / Latino-African Americans:Asian/Pacific Islander           0.8825221
## Caucasian:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander         1.0000000
## Hispanic / Latino:Asian/Pacific Islander-Asian/Pacific Islander:Asian/Pacific Islander 0.9980954
## African Americans:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander              1.0000000
## Asian/Pacific Islander:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander         1.0000000
## Caucasian:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander                      0.9956464
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Asian/Pacific Islander              1.0000000
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander      0.9999933
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander 1.0000000
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander              1.0000000
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Asian/Pacific Islander      1.0000000
## Hispanic / Latino:Asian/Pacific Islander-Caucasian:Asian/Pacific Islander              0.0000215
## African Americans:Caucasian-Caucasian:Asian/Pacific Islander                           0.4604052
## Asian/Pacific Islander:Caucasian-Caucasian:Asian/Pacific Islander                      1.0000000
## Caucasian:Caucasian-Caucasian:Asian/Pacific Islander                                   0.0493340
## Hispanic / Latino:Caucasian-Caucasian:Asian/Pacific Islander                           1.0000000
## African Americans:Hispanic / Latino-Caucasian:Asian/Pacific Islander                   0.0082099
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Asian/Pacific Islander              1.0000000
## Caucasian:Hispanic / Latino-Caucasian:Asian/Pacific Islander                           1.0000000
## Hispanic / Latino:Hispanic / Latino-Caucasian:Asian/Pacific Islander                   0.5353192
## African Americans:Caucasian-Hispanic / Latino:Asian/Pacific Islander                   0.0000000
## Asian/Pacific Islander:Caucasian-Hispanic / Latino:Asian/Pacific Islander              0.0000000
## Caucasian:Caucasian-Hispanic / Latino:Asian/Pacific Islander                           0.0000000
## Hispanic / Latino:Caucasian-Hispanic / Latino:Asian/Pacific Islander                   0.0000000
## African Americans:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander           0.0051976
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander      0.3335976
## Caucasian:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander                   0.0000000
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Asian/Pacific Islander           0.0000000
## Asian/Pacific Islander:Caucasian-African Americans:Caucasian                           0.0241618
## Caucasian:Caucasian-African Americans:Caucasian                                        0.0000000
## Hispanic / Latino:Caucasian-African Americans:Caucasian                                0.0000000
## African Americans:Hispanic / Latino-African Americans:Caucasian                        0.0000000
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Caucasian                   0.9991725
## Caucasian:Hispanic / Latino-African Americans:Caucasian                                0.0000000
## Hispanic / Latino:Hispanic / Latino-African Americans:Caucasian                        1.0000000
## Caucasian:Caucasian-Asian/Pacific Islander:Caucasian                                   0.1373432
## Hispanic / Latino:Caucasian-Asian/Pacific Islander:Caucasian                           1.0000000
## African Americans:Hispanic / Latino-Asian/Pacific Islander:Caucasian                   0.0000189
## Asian/Pacific Islander:Hispanic / Latino-Asian/Pacific Islander:Caucasian              1.0000000
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Caucasian                           1.0000000
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Caucasian                   0.0379459
## Hispanic / Latino:Caucasian-Caucasian:Caucasian                                        0.0000000
## African Americans:Hispanic / Latino-Caucasian:Caucasian                                0.0000000
## Asian/Pacific Islander:Hispanic / Latino-Caucasian:Caucasian                           0.7984157
## Caucasian:Hispanic / Latino-Caucasian:Caucasian                                        0.0000000
## Hispanic / Latino:Hispanic / Latino-Caucasian:Caucasian                                0.0000000
## African Americans:Hispanic / Latino-Hispanic / Latino:Caucasian                        0.0000000
## Asian/Pacific Islander:Hispanic / Latino-Hispanic / Latino:Caucasian                   1.0000000
## Caucasian:Hispanic / Latino-Hispanic / Latino:Caucasian                                1.0000000
## Hispanic / Latino:Hispanic / Latino-Hispanic / Latino:Caucasian                        0.0000000
## Asian/Pacific Islander:Hispanic / Latino-African Americans:Hispanic / Latino           0.8801408
## Caucasian:Hispanic / Latino-African Americans:Hispanic / Latino                        0.0000000
## Hispanic / Latino:Hispanic / Latino-African Americans:Hispanic / Latino                0.0000000
## Caucasian:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino                   1.0000000
## Hispanic / Latino:Hispanic / Latino-Asian/Pacific Islander:Hispanic / Latino           0.9994654
## Hispanic / Latino:Hispanic / Latino-Caucasian:Hispanic / Latino                        0.0000004

The post-hoc Tukey’s HSD test reveals specific racial group differences, notably that African Americans (as both subjects and officers) face significantly different arrest likelihoods compared to other groups, indicating disparities in arrest outcomes based on race.

ggplot(final_data, aes(x = subject_race, fill = officer_race)) +
  geom_bar(position = "dodge") +
  labs(title = "Distribution of Arrests by Subject Race and Officer Race",
       x = "Subject Race", y = "Count of Arrests") +
  theme_minimal() +
  facet_wrap(~ arrest_made)

Null Hypothesis (H₀): There is no significant association between the gender of the officer and the race of the arrested subject.

Alternative Hypothesis (H₁): There is a significant association between the gender of the officer and the race of the arrested subject.

5.4 Chi - Square Test For Officer’s Gender and Subject’s Race

In this case, we examine if there’s a relationship between subject race and officer gender in terms of arrest outcomes, hence we conduct a Chi-Square Test.

chisq_result <- chisq.test(table(final_data$officer_sex, final_data$subject_race))
print(chisq_result)
## 
##  Pearson's Chi-squared test
## 
## data:  table(final_data$officer_sex, final_data$subject_race)
## X-squared = 27.712, df = 3, p-value = 4.174e-06

Since the p-values is very small (less than 0.05), we reject the null hypothesis.

Thus, there is a significant association between the gender of the officer and the race of the arrested subject. This suggests that the likelihood of arrest may vary depending on the officer’s gender in relation to the subject’s race.

ggplot(final_data, aes(x = officer_sex, fill = subject_race)) +
  geom_bar(position = "dodge") +
  labs(title = "Distribution of Arrests by Officer Gender and Subject Race",
       x = "Officer Gender", y = "Count of Arrests", fill = "Subject Race") +
  theme_minimal()

6 Conclusion of EDA

Overall analysis conducted helped us answer our SMART questions, and there is indication of a significant pattern in racial and demographic disparities of police stops in Chicago. The racial inequality in the probability of a stop and officer demographics is quite clear.

Racial Distribution: African American subjects experience the highest number of police stops, followed by Hispanic/Latino and Caucasian subjects, with Asian/Pacific Islanders experiencing the fewest stops. Similarly, On the other hand, Caucasian officers are involved in the most stops, followed by Hispanic/Latino and African American officers.

Age and Demographics: African American and Hispanic/Latino subjects predominantly fall within a 30-40 age range, whereas Asian/Pacific Islanders show a broader age spread. The officer age distribution aligns similarly across racial lines.

Violation Type: Filtering top 10 violations throughout the police stops, reveals that certain racial groups experience more frequent stops for quite few violations. Though we are not concluding a causality here because this relationship requires further analysis to clarify causative factors.

Gender Influence: Significant association between officer gender and subject race was found, indicating that the likelihood of arrest varies across these variables. Visualization further supported this finding.

Note: Due to the observational nature of the data, we cannot infer causality. There may be unmeasured co founders that influence these patterns, limiting our ability to draw definitive conclusions about bias.

7 References

[1] The Stanford Open Policing Project, openpolicing.stanford.edu.https://openpolicing.stanford.edu/data/

[2] Setting goals and developing specific, measurable, achievable, relevant, and time-bound objectives; https://www.samhsa.gov/sites/default/files/nc-smart-goals-fact-sheet.pdf

[3] Prasad Patil, Published in Towards Data Science (Mar 23,2018), Retrieved on Oct 31,2023; https://towardsdatascience.com/exploratory-data-analysis-8fc1cb20fd15

[4] What is exploratory data analysis?, IBM, Retrieved on Oct 31,2023; https://www.ibm.com/topics/exploratory-data-analysis

[5] Jain, A. (2024, October 19). What do you understand by EDA, Outliers, and Z Score? Medium. https://medium.com/@abhishekjainindore24/what-do-you-understand-by-eda-a634a734e762#:~:text=Exploratory%20Data%20Analysis%20(EDA)%20is,associated%20with%20Exploratory%20Data%20Analysis:

[6] Codecademy Team, Exploratory Data Analysis: Data Visualization, Retrieved on Oct 31,2023; https://www.codecademy.com/article/eda-data-visualization

[7] How do you formulate and test hypotheses based on your exploratory data analysis? (2023, August 25). https://www.linkedin.com/advice/1/how-do-you-formulate-test-hypotheses#:~:text=After%20exploratory%20data%20analysis%2C%20formulating,supporting%20or%20rejecting%20the%20hypothesis.